[codex] Pass GitHub runner workflow dispatch inputs#33
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR ensures ephemeral runner workflow dispatches include the generated runner metadata (labels/task id) as workflow_dispatch inputs, while preserving caller-provided inputs and overriding provider-owned safety inputs for the dynamic provider path.
Changes:
- Add
workflow_inputssupport to the ephemeral runner job request model and argument parsing. - Extend the sidecar dispatch call to include optional
inputsin the workflow dispatch payload. - Add test coverage asserting dispatch payload includes merged inputs and enforced provider-owned inputs.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| internal/module_runner_provider.go | Parses workflow_inputs from module args into the job request. |
| internal/ephemeral_runner_job.go | Extends EphemeralRunnerJobRequest with WorkflowInputs. |
| cmd/github-actions-runner-job/main.go | Sends merged workflow dispatch inputs and enforces provider-owned dispatch inputs. |
| cmd/github-actions-runner-job/main_test.go | Verifies dispatch request includes expected inputs and preserves caller input. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
intel352
marked this pull request as ready for review
June 27, 2026 09:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Root Cause
The GitHub runner job provider dispatched workflows with only
{ "ref": "main" }. The workflow-compute dogfood target needs the generated runner label array and STG task id as dispatch inputs, so the provider-backed workflow would queue on the default placeholder labels or fail required-input validation instead of targeting the ephemeral runner it just registered.Verification
GOWORK=off go test ./cmd/github-actions-runner-job -run TestT915CommandRunsDynamicProviderEnvelopeThroughSidecarAndRunner -count=1GOWORK=off go test ./... -count=1GOWORK=off go build ./cmd/github-actions-runner-jobGOWORK=off go build ./cmd/github-runner-providergit diff --checkRegression Proof
With production fix reverted and the new test retained:
With fix restored: